Selects a random file from a directory every time the function is called. Results can be limited to particular file extensions.

=======================================================

// RANDFILE FUNCTION
function randFile($dir, $fext)
{
	// CREATE GLOB PATTERN
	$fextb = $dir . '{' . implode(',', $fext) . '}';
	// FILL UP AN ARRAY WITH FILENAMES
	$fnames = array();
	foreach (glob($fextb, GLOB_BRACE) as $fname)
		$fnames[] = $fname;
	// CHOOSE A RANDOM FILE
	return $fnames[array_rand($fnames)];
}
$dir = getcwd() . '\\directory\\';
$fext = array('*.txt','*.bmp');
echo randFile($dir, $fext);